home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / muibuilder / mb / m2 / m2mui / mbmuimacros.mod < prev    next >
Text File  |  1994-11-30  |  27KB  |  850 lines

  1. IMPLEMENTATION MODULE MuiMacros;
  2.  
  3. (*$ NilChk      := FALSE EntryClear  := FALSE LargeVars   := FALSE StackParms  := FALSE *)
  4.  
  5. (****************************************************************************
  6. **
  7. **      MUI Macros 2.0
  8. **
  9. **      Converted to Modula by Christian "Kochtopf" Scholz
  10. **
  11. **      $Id: MuiMacros.def,v 1.8mb 1994/11/30 Stefan Schulz Exp $
  12. **
  13. **      $Log: MuiMacros.mod,v $
  14. |
  15. | Revision 1.8mb \30.11.1994\ by Stefan Schulz
  16. | Special Version for GenCodeM2:
  17. | - no dividing between MUIObsolete and non-MUIObsolete
  18. | - only Localized Functioncalls
  19. |
  20. # Revision 1.8  1994/08/18  18:59:25  Kochtopf
  21. # changed img-argument in PopButton from ARRAY to APTR.
  22. # changed implementation of SimpleButton for -MUIOBSOLETE
  23. #
  24. # Revision 1.7  1994/08/11  16:59:45  Kochtopf
  25. # *** empty log message ***
  26. #
  27. # Revision 1.6  1994/06/27  22:06:41  Kochtopf
  28. # put some Macros in MUIObsolete-Parenthesis, because one should
  29. # now use mMakeObj.
  30. #
  31. # Revision 1.5  1994/02/15  21:14:05  Kochtopf
  32. # neue Macros fuer Pop* und Register definiert,
  33. # HCenter und VCenter neu
  34. # PopUp entfernt und durch PopButton ersetzt.
  35. # neue Label-Macros LLabel eingefuehrt (aus mui.h)
  36. #
  37. # Revision 1.4  1994/02/09  14:50:03  Kochtopf
  38. # Versionsnummer in 2.0 geaendert.
  39. #
  40. **
  41. ****************************************************************************)
  42.  
  43. IMPORT  MD:MuiD;
  44. IMPORT  ML:MuiL;
  45. IMPORT  UD:UtilityD;
  46. IMPORT  R;
  47. FROM    MuiD IMPORT APTR, StrPtr;
  48. FROM    MuiSupport IMPORT DoMethod;
  49. FROM    UtilityD IMPORT tagEnd, tagMore, HookPtr, Hook;
  50. FROM    SYSTEM IMPORT ADDRESS, ADR, TAG, CAST, SETREG, REG;
  51. FROM    IntuitionL IMPORT SetAttrsA, GetAttr;
  52. FROM    IntuitionD IMPORT omGET, omADDMEMBER, omREMMEMBER;
  53. FROM    Storage IMPORT ALLOCATE;
  54.  
  55. VAR buffer  : ARRAY [0..50] OF LONGINT;      (* for the tags *)
  56.  
  57. (*{{{  "MUI-Object-Generation" *)
  58. (*
  59. **
  60. **  MUI - Object Generation
  61. **
  62. *)
  63.  
  64. PROCEDURE WindowObject(tags : UD.TagItemPtr) : APTR;
  65.     BEGIN
  66.         RETURN ML.mNewObject(ADR(MD.mcWindow), tags);
  67.     END WindowObject;
  68.  
  69. PROCEDURE ImageObject(tags : UD.TagItemPtr) : APTR;
  70.     BEGIN
  71.         RETURN ML.mNewObject(ADR(MD.mcImage), tags);
  72.     END ImageObject;
  73.  
  74. PROCEDURE ApplicationObject(tags : UD.TagItemPtr) : APTR;
  75.     BEGIN
  76.         RETURN ML.mNewObject(ADR(MD.mcApplication), tags);
  77.     END ApplicationObject;
  78.  
  79. PROCEDURE NotifyObject(tags : UD.TagItemPtr) : APTR;
  80.     BEGIN
  81.         RETURN ML.mNewObject(ADR(MD.mcNotify), tags);
  82.     END NotifyObject;
  83.  
  84. PROCEDURE TextObject(tags : UD.TagItemPtr) : APTR;
  85.     BEGIN
  86.         RETURN ML.mNewObject(ADR(MD.mcText), tags);
  87.     END TextObject;
  88.  
  89. PROCEDURE RectangleObject(tags : UD.TagItemPtr) : APTR;
  90.     BEGIN
  91.         RETURN ML.mNewObject(ADR(MD.mcRectangle), tags);
  92.     END RectangleObject;
  93.  
  94. PROCEDURE ListObject(tags : UD.TagItemPtr) : APTR;
  95.     BEGIN
  96.         RETURN ML.mNewObject(ADR(MD.mcList), tags);
  97.     END ListObject;
  98.  
  99. PROCEDURE PropObject(tags : UD.TagItemPtr) : APTR;
  100.     BEGIN
  101.         RETURN ML.mNewObject(ADR(MD.mcProp), tags);
  102.     END PropObject;
  103.  
  104. PROCEDURE StringObject(tags : UD.TagItemPtr) : APTR;
  105.     BEGIN
  106.         RETURN ML.mNewObject(ADR(MD.mcString), tags);
  107.     END StringObject;
  108.  
  109. PROCEDURE ScrollbarObject(tags : UD.TagItemPtr) : APTR;
  110.     BEGIN
  111.         RETURN ML.mNewObject(ADR(MD.mcScrollbar), tags);
  112.     END ScrollbarObject;
  113.  
  114. PROCEDURE ListviewObject(tags : UD.TagItemPtr) : APTR;
  115.     BEGIN
  116.         RETURN ML.mNewObject(ADR(MD.mcListview), tags);
  117.     END ListviewObject;
  118.  
  119. PROCEDURE RadioObject(tags : UD.TagItemPtr) : APTR;
  120.     BEGIN
  121.         RETURN ML.mNewObject(ADR(MD.mcRadio), tags);
  122.     END RadioObject;
  123.  
  124. PROCEDURE VolumelistObject(tags : UD.TagItemPtr) : APTR;
  125.     BEGIN
  126.         RETURN ML.mNewObject(ADR(MD.mcVolumelist), tags);
  127.     END VolumelistObject;
  128.  
  129. PROCEDURE FloattextObject(tags : UD.TagItemPtr) : APTR;
  130.     BEGIN
  131.         RETURN ML.mNewObject(ADR(MD.mcFloattext), tags);
  132.     END FloattextObject;
  133.  
  134. PROCEDURE DirlistObject(tags : UD.TagItemPtr) : APTR;
  135.     BEGIN
  136.         RETURN ML.mNewObject(ADR(MD.mcDirlist), tags);
  137.     END DirlistObject;
  138.  
  139. PROCEDURE ScrmodelistObject(tags : UD.TagItemPtr) : APTR;
  140.     BEGIN
  141.         RETURN ML.mNewObject(ADR(MD.mcScrmodelist), tags);
  142.     END ScrmodelistObject;
  143.  
  144. PROCEDURE SliderObject(tags : UD.TagItemPtr) : APTR;
  145.     BEGIN
  146.         RETURN ML.mNewObject(ADR(MD.mcSlider), tags);
  147.     END SliderObject;
  148.  
  149. PROCEDURE CycleObject(tags : UD.TagItemPtr) : APTR;
  150.     BEGIN
  151.         RETURN ML.mNewObject(ADR(MD.mcCycle), tags);
  152.     END CycleObject;
  153.  
  154. PROCEDURE GaugeObject(tags : UD.TagItemPtr) : APTR;
  155.     BEGIN
  156.         RETURN ML.mNewObject(ADR(MD.mcGauge), tags);
  157.     END GaugeObject;
  158.  
  159. PROCEDURE BoopsiObject(tags : UD.TagItemPtr) : APTR;
  160.     BEGIN
  161.         RETURN ML.mNewObject(ADR(MD.mcBoopsi), tags);
  162.     END BoopsiObject;
  163.  
  164. PROCEDURE ScaleObject(tags : UD.TagItemPtr) : APTR;
  165.     BEGIN
  166.         RETURN ML.mNewObject(ADR(MD.mcScale), tags);
  167.     END ScaleObject;
  168.  
  169. PROCEDURE GroupObject(tags : UD.TagItemPtr) : APTR;
  170.     BEGIN
  171.         RETURN ML.mNewObject(ADR(MD.mcGroup), tags);
  172.     END GroupObject;
  173.  
  174. PROCEDURE VGroup(tags : UD.TagItemPtr) : APTR;
  175.     BEGIN
  176.         RETURN ML.mNewObject(ADR(MD.mcGroup), tags);
  177.     END VGroup;
  178.  
  179. PROCEDURE HGroup(tags : UD.TagItemPtr) : APTR;
  180.     BEGIN
  181.         RETURN ML.mNewObject(ADR(MD.mcGroup), TAG(buffer, MD.maGroupHoriz, TRUE, tagMore, tags, tagEnd));
  182.     END HGroup;
  183.  
  184. PROCEDURE ColGroup(cols : LONGCARD; tags : UD.TagItemPtr) : APTR;
  185.     BEGIN
  186.         RETURN ML.mNewObject(ADR(MD.mcGroup), TAG(buffer, MD.maGroupColumns, cols, tagMore, tags, tagEnd));
  187.     END ColGroup;
  188.  
  189. PROCEDURE RowGroup(rows : LONGCARD; tags : UD.TagItemPtr) : APTR;
  190.     BEGIN
  191.         RETURN ML.mNewObject(ADR(MD.mcGroup), TAG(buffer, MD.maGroupRows, rows, tagMore, tags, tagEnd));
  192.     END RowGroup;
  193.  
  194. PROCEDURE PageGroup(tags : UD.TagItemPtr) : APTR;
  195.     BEGIN
  196.          RETURN ML.mNewObject(ADR(MD.mcGroup),TAG(buffer, MD.maGroupPageMode, TRUE, tagMore, tags, tagEnd));
  197.     END PageGroup;
  198.  
  199. PROCEDURE ColorfieldObject(tags : UD.TagItemPtr) : APTR;
  200.     BEGIN
  201.          RETURN ML.mNewObject(ADR(MD.mcColorfield), tags);
  202.     END ColorfieldObject;
  203.  
  204. PROCEDURE ColoradjustObject(tags : UD.TagItemPtr) : APTR;
  205.     BEGIN
  206.          RETURN ML.mNewObject(ADR(MD.mcColoradjust), tags);
  207.     END ColoradjustObject;
  208.  
  209. PROCEDURE PaletteObject(tags : UD.TagItemPtr) : APTR;
  210.     BEGIN
  211.          RETURN ML.mNewObject(ADR(MD.mcPalette), tags);
  212.     END PaletteObject;
  213.  
  214. PROCEDURE VirtgroupObject(tags : UD.TagItemPtr) : APTR;
  215.     BEGIN
  216.          RETURN ML.mNewObject(ADR(MD.mcVirtgroup), tags);
  217.     END VirtgroupObject;
  218.  
  219. PROCEDURE ScrollgroupObject(tags : UD.TagItemPtr) : APTR;
  220.     BEGIN
  221.          RETURN ML.mNewObject(ADR(MD.mcScrollgroup), tags);
  222.     END ScrollgroupObject;
  223.  
  224. PROCEDURE VGroupV(tags : UD.TagItemPtr) : APTR;
  225.     BEGIN
  226.          RETURN ML.mNewObject(ADR(MD.mcVirtgroup), tags);
  227.     END VGroupV;
  228.  
  229. PROCEDURE HGroupV(tags : UD.TagItemPtr) : APTR;
  230.     BEGIN
  231.         RETURN ML.mNewObject(ADR(MD.mcVirtgroup), TAG(buffer, MD.maGroupHoriz, TRUE, tagMore, tags, tagEnd));
  232.     END HGroupV;
  233.  
  234. PROCEDURE ColGroupV(cols : LONGCARD; tags : UD.TagItemPtr) : APTR;
  235.     BEGIN
  236.         RETURN ML.mNewObject(ADR(MD.mcVirtgroup), TAG(buffer, MD.maGroupColumns, cols, tagMore, tags, tagEnd));
  237.     END ColGroupV;
  238.  
  239. PROCEDURE RowGroupV(rows : LONGCARD; tags : UD.TagItemPtr) : APTR;
  240.     BEGIN
  241.         RETURN ML.mNewObject(ADR(MD.mcVirtgroup), TAG(buffer, MD.maGroupRows, rows, tagMore, tags, tagEnd));
  242.     END RowGroupV;
  243.  
  244. PROCEDURE PageGroupV(tags : UD.TagItemPtr) : APTR;
  245.     BEGIN
  246.          RETURN ML.mNewObject(ADR(MD.mcVirtgroup),TAG(buffer, MD.maGroupPageMode, TRUE, tagMore, tags, tagEnd));
  247.     END PageGroupV;
  248.  
  249. PROCEDURE PopString(tags : UD.TagItemPtr) : APTR;
  250.     BEGIN
  251.          RETURN ML.mNewObject(ADR(MD.mcPopstring), tags);
  252.     END PopString;
  253.  
  254. PROCEDURE PopObject(tags : UD.TagItemPtr) : APTR;
  255.     BEGIN
  256.          RETURN ML.mNewObject(ADR(MD.mcPopobject), tags);
  257.     END PopObject;
  258.  
  259. PROCEDURE PopAsl(tags : UD.TagItemPtr) : APTR;
  260.     BEGIN
  261.          RETURN ML.mNewObject(ADR(MD.mcPopasl), tags);
  262.     END PopAsl;
  263.  
  264. PROCEDURE Register(tags : UD.TagItemPtr) : APTR;
  265.     BEGIN
  266.          RETURN ML.mNewObject(ADR(MD.mcRegister), tags);
  267.     END Register;
  268.  
  269. PROCEDURE MenuStripObject(tags : UD.TagItemPtr) : APTR;
  270.     BEGIN
  271.          RETURN ML.mNewObject(ADR(MD.mcMenustrip), tags);
  272.     END MenuStripObject;
  273.  
  274. PROCEDURE MenuObject(tags : UD.TagItemPtr) : APTR;
  275.     BEGIN
  276.          RETURN ML.mNewObject(ADR(MD.mcMenu), tags);
  277.     END MenuObject;
  278.  
  279. PROCEDURE MenuObjectT(name : StrPtr; tags : UD.TagItemPtr) : APTR;
  280.     BEGIN
  281.          RETURN ML.mNewObject(ADR(MD.mcMenu), TAG(buffer, MD.maMenuTitle, name, tagMore, tags, tagEnd));
  282.     END MenuObjectT;
  283.  
  284. PROCEDURE MenuItemObject(tags : UD.TagItemPtr) : APTR;
  285.     BEGIN
  286.          RETURN ML.mNewObject(ADR(MD.mcMenuitem), tags);
  287.     END MenuItemObject;
  288.  
  289.  
  290. (*}}}*)
  291. (*{{{  "MakeID" *)
  292. (*
  293. **  MakeID
  294. **  Generate an ID out of a 4-char-string.
  295. **  Use it the as WindowID ! (look in MuiTest for an example!)
  296. *)
  297.  
  298. PROCEDURE MakeID (name : ShortString): LONGINT;
  299.  
  300.     BEGIN
  301.         RETURN ORD(name[0])+
  302.                ORD(name[1])*256+
  303.                ORD(name[2])*65536+
  304.                ORD(name[3])*16777216;
  305.     END MakeID;
  306. (*}}}*)
  307. (*{{{  "Hook-Support" *)
  308. (*
  309. **  Hook-Support functions
  310. **  1. the dispatcher
  311. **  2. the MakeHook-Function
  312. **
  313. *)
  314.  
  315. PROCEDURE HookEntry(hook{R.A0}  : HookPtr;
  316.                     object{R.A2}: ADDRESS;
  317.                     args{R.A1}  : ADDRESS)     : ADDRESS;
  318.     (*$SaveA4:=TRUE*)
  319.     BEGIN
  320.         SETREG (R.A4, hook^.data);
  321.         RETURN CAST(HookDef,hook^.subEntry)(hook, object, args);
  322.     END HookEntry;
  323.  
  324. PROCEDURE MakeHook(entry:HookDef; VAR hook : HookPtr);
  325.  
  326.     BEGIN
  327.             ALLOCATE(hook,SIZE(Hook));
  328.             hook^.node.succ  := NIL;
  329.             hook^.node.pred  := NIL;
  330.             hook^.entry      := HookEntry;
  331.             hook^.subEntry   := CAST(ADDRESS,entry);
  332.             hook^.data       := REG(R.A4);
  333.     END MakeHook;
  334. (*}}}*)
  335. (*{{{  "Spacing-Macros" *)
  336. (*
  337. **
  338. **  Spacing Macros
  339. **
  340. *)
  341. (*{{{  "HV-Space" *)
  342. PROCEDURE HVSpace() : APTR;
  343.     BEGIN
  344.         RETURN ML.mNewObject(ADR(MD.mcRectangle), NIL);
  345.     END HVSpace;
  346. (*}}}*)
  347. (*{{{  "Hspace" *)
  348. PROCEDURE HSpace(x : LONGCARD) : APTR;
  349.     BEGIN
  350.         IF x#0 THEN 
  351.                 RETURN ML.mNewObject(ADR(MD.mcRectangle),
  352.                                      TAG(buffer,
  353.                                         MD.maFixWidth,     x,
  354.                                         MD.maVertWeight,   0,
  355.                                         tagEnd));
  356.                 ELSE   
  357.                 RETURN ML.mNewObject(ADR(MD.mcRectangle),
  358.                                      TAG(buffer,
  359.                                         MD.maVertWeight,   0,
  360.                                         tagEnd));
  361.                 END;
  362.     END HSpace;
  363. (*}}}*)
  364. (*{{{  "VSpace" *)
  365. PROCEDURE VSpace(x : LONGCARD) : APTR;
  366.     BEGIN
  367.         IF x#0 THEN 
  368.                 RETURN ML.mNewObject(ADR(MD.mcRectangle),
  369.                                      TAG(buffer,
  370.                                         MD.maFixHeight,     x,
  371.                                         MD.maHorizWeight,   0,
  372.                                         tagEnd));
  373.                 ELSE
  374.                 RETURN ML.mNewObject(ADR(MD.mcRectangle),
  375.                                      TAG(buffer,
  376.                                         MD.maHorizWeight,   0,
  377.                                         tagEnd));
  378.                 END;
  379.     END VSpace;
  380. (*}}}*)
  381. (*{{{  "HCenter" *)
  382. PROCEDURE HCenter(obj : APTR) : APTR;
  383.     BEGIN
  384.         RETURN HGroup(TAG(buffer,
  385.                     MD.maGroupSpacing,      0,
  386.                     Child,                  HSpace(0),
  387.                     Child,                  obj,
  388.                     Child,                  HSpace(0),
  389.                     tagEnd));
  390.     END HCenter;
  391. (*}}}*)
  392. (*{{{  "VCenter" *)
  393. PROCEDURE VCenter(obj : APTR) : APTR;
  394.     BEGIN
  395.         RETURN VGroup(TAG(buffer,
  396.                     MD.maGroupSpacing,      0,
  397.                     Child,                  VSpace(0),
  398.                     Child,                  obj,
  399.                     Child,                  VSpace(0),
  400.                     tagEnd));
  401.     END VCenter;
  402. (*}}}*)
  403. (*}}}*)
  404. (*{{{  "PopButton" *)
  405. (*
  406. **
  407. **  PopUp-Button
  408. **
  409. **  to be used for Popup-Objects
  410. **
  411. *)
  412.  
  413. PROCEDURE PopButton(img : APTR) : APTR;
  414.     BEGIN
  415.         RETURN ML.MakeObject(MD.moPopButton, TAG(buffer, img));
  416.     END PopButton;
  417. (*}}}*)
  418.  
  419. (*
  420. **
  421. ** String-Object
  422. **
  423. ** Makes a simple String-Gadget
  424. **
  425. *)
  426.  
  427. (*{{{  "StringObjects" *)
  428. PROCEDURE String(contents : StrPtr; maxlen : LONGINT) : APTR;
  429.     BEGIN
  430.         RETURN StringObject(TAG(buffer,
  431.                             MD.maFrame,            MD.mvFrameString,
  432.                             MD.maStringMaxLen,     maxlen,
  433.                             MD.maStringContents,   contents,
  434.                             tagEnd));
  435.     END String;
  436. PROCEDURE KeyString(contents : StrPtr; maxlen : LONGINT; key : CHAR) : APTR;
  437.     BEGIN
  438.         RETURN StringObject(TAG(buffer,
  439.                             MD.maFrame,             MD.mvFrameString,
  440.                             MD.maStringMaxLen,      maxlen,
  441.                             MD.maStringContents,    contents,
  442.                             MD.maControlChar,       key,
  443.                             tagEnd));
  444.     END KeyString;
  445. (*}}}*)
  446.  
  447. (*
  448. **
  449. ** Checkmark
  450. **
  451. *)
  452.  
  453. (*{{{  "Checkmarks" *)
  454. PROCEDURE Checkmark(selected : BOOLEAN) : APTR;
  455.     BEGIN
  456.         RETURN ImageObject( TAG(buffer,
  457.                             MD.maFrame,            MD.mvFrameImageButton,
  458.                             MD.maInputMode,        MD.mvInputModeToggle,
  459.                             MD.maImageSpec,        MD.miCheckMark,
  460.                             MD.maImageFreeVert,    TRUE,
  461.                             MD.maSelected,         selected,
  462.                             MD.maBackground,       MD.miButtonBack,
  463.                             MD.maShowSelState,     FALSE,
  464.                             tagEnd));
  465.     END Checkmark;
  466.  
  467. PROCEDURE KeyCheckmark(selected : BOOLEAN; key : CHAR) : APTR;
  468.     BEGIN
  469.         RETURN ImageObject( TAG(buffer,
  470.                             MD.maFrame,            MD.mvFrameImageButton,
  471.                             MD.maInputMode,        MD.mvInputModeToggle,
  472.                             MD.maImageSpec,        MD.miCheckMark,
  473.                             MD.maImageFreeVert,    TRUE,
  474.                             MD.maSelected,         selected,
  475.                             MD.maBackground,       MD.miButtonBack,
  476.                             MD.maShowSelState,     FALSE,
  477.                             MD.maControlChar,      key,
  478.                             tagEnd));
  479.     END KeyCheckmark;
  480.  
  481. (*}}}*)
  482.  
  483. (*
  484. **
  485. ** Buttons
  486. **
  487. *)
  488.  
  489. (*{{{  "Buttons" *)
  490. PROCEDURE Keybutton(name : StrPtr; key : CHAR) : APTR;
  491.     BEGIN
  492.         RETURN TextObject(  TAG(buffer,
  493.                             MD.maFrame,            MD.mvFrameButton,
  494.                             MD.maTextContents,     name,
  495.                             MD.maTextPreParse,     ADR("\033c"),
  496.                             MD.maTextSetMax,       FALSE,
  497.                             MD.maTextHiChar,       key,
  498.                             MD.maControlChar,      key,
  499.                             MD.maInputMode,        MD.mvInputModeRelVerify,
  500.                             MD.maBackground,       MD.miButtonBack,
  501.                             tagEnd));
  502.  
  503.     END Keybutton;
  504. PROCEDURE Simplebutton(name : StrPtr) : APTR;
  505.     BEGIN
  506.         RETURN ML.MakeObject(MD.moButton, TAG(buffer, name));
  507.     END Simplebutton;
  508.  
  509. (*}}}*)
  510.  
  511. (*
  512. **
  513. **  Radio Object
  514. **
  515. *)
  516.  
  517. (*{{{  "RadioObjects" *)
  518. PROCEDURE Radio(name : StrPtr; array : APTR) : APTR;
  519.     BEGIN
  520.         RETURN RadioObject( TAG(buffer,
  521.                             MD.maFrame,             MD.mvFrameGroup,
  522.                             MD.maFrameTitle,        name,
  523.                             MD.maRadioEntries,      array,
  524.                             tagEnd));
  525.     END Radio;
  526.  
  527. PROCEDURE KeyRadio(name : StrPtr; array : APTR; key : CHAR) : APTR;
  528.     BEGIN
  529.         RETURN RadioObject( TAG(buffer,
  530.                             MD.maFrame,             MD.mvFrameGroup,
  531.                             MD.maFrameTitle,        name,
  532.                             MD.maTextHiChar,        key,
  533.                             MD.maControlChar,       key,
  534.                             MD.maRadioEntries,      array,
  535.                             tagEnd));
  536.     END KeyRadio;
  537.  
  538. (*}}}*)
  539.  
  540. (*
  541. **
  542. **  Cycle-Objects
  543. **
  544. *)
  545.  
  546. (*{{{  "Cycle" *)
  547. PROCEDURE Cycle(array : APTR) : APTR;
  548.     BEGIN
  549.         RETURN CycleObject(TAG(buffer,
  550.                             MD.maCycleEntries,      array,
  551.                             tagEnd));
  552.     END Cycle;
  553.  
  554.  
  555. PROCEDURE KeyCycle(array : APTR; key : CHAR) : APTR;
  556.     BEGIN
  557.         RETURN CycleObject(TAG(buffer,
  558.                             MD.maCycleEntries,      array,
  559.                             MD.maControlChar,       key,
  560.                             tagEnd));
  561.     END KeyCycle;
  562. (*}}}*)
  563.  
  564. (*
  565. **
  566. **  Slider-Objects
  567. **
  568. *)
  569.  
  570. (*{{{  "Slider" *)
  571. PROCEDURE Slider(min,max,level : LONGINT; horiz : BOOLEAN) : APTR;
  572.     BEGIN
  573.         RETURN SliderObject(TAG(buffer,
  574.                             MD.maGroupHoriz,        horiz,
  575.                             MD.maSliderLevel,       level,
  576.                             MD.maSliderMax,         max,
  577.                             MD.maSliderMin,         min,
  578.                             tagEnd));
  579.     END Slider;
  580.  
  581. PROCEDURE KeySlider(min,max,level : LONGINT; horiz : BOOLEAN;
  582.                         key : CHAR) : APTR;
  583.     BEGIN
  584.         RETURN SliderObject(TAG(buffer,
  585.                             MD.maGroupHoriz,        horiz,
  586.                             MD.maSliderLevel,       level,
  587.                             MD.maSliderMax,         max,
  588.                             MD.maSliderMin,         min,
  589.                             MD.maControlChar,       key,
  590.                             tagEnd));
  591.     END KeySlider;
  592. (*}}}*)
  593.  
  594. (*
  595. **
  596. ** Label Objects
  597. **
  598. *)
  599.  
  600. (*{{{  "LabelX" *)
  601. PROCEDURE Label(label : StrPtr) : APTR;
  602.     BEGIN
  603.         RETURN TextObject(  TAG(buffer,
  604.                             MD.maTextPreParse,         ADR("\033r"),
  605.                             MD.maTextContents,         label,
  606.                             MD.maWeight,               0,
  607.                             MD.maInnerLeft,            0,
  608.                             MD.maInnerRight,           0,
  609.                             tagEnd));
  610.     END Label;
  611.  
  612. PROCEDURE Label1(label : StrPtr) : APTR;
  613.     BEGIN
  614.         RETURN TextObject(  TAG(buffer,
  615.                             MD.maTextPreParse,         ADR("\033r"),
  616.                             MD.maTextContents,         label,
  617.                             MD.maWeight,               0,
  618.                             MD.maInnerLeft,            0,
  619.                             MD.maInnerRight,           0,
  620.                             MD.maFrame,                MD.mvFrameButton,
  621.                             MD.maFramePhantomHoriz,    TRUE,
  622.                             tagEnd));
  623.     END Label1;
  624.  
  625. PROCEDURE Label2(label : StrPtr) : APTR;
  626.     BEGIN
  627.         RETURN TextObject(  TAG(buffer,
  628.                             MD.maTextPreParse,         ADR("\033r"),
  629.                             MD.maTextContents,         label,
  630.                             MD.maWeight,               0,
  631.                             MD.maInnerLeft,            0,
  632.                             MD.maInnerRight,           0,
  633.                             MD.maFrame,                MD.mvFrameString,
  634.                             MD.maFramePhantomHoriz,    TRUE,
  635.                             tagEnd));
  636.     END Label2;
  637. (*}}}*)
  638. (*{{{  "LLabelX" *)
  639. PROCEDURE LLabel(label : StrPtr) : APTR;
  640.     BEGIN
  641.         RETURN TextObject(  TAG(buffer,
  642.                             MD.maTextContents,         label,
  643.                             MD.maWeight,               0,
  644.                             MD.maInnerLeft,            0,
  645.                             MD.maInnerRight,           0,
  646.                             tagEnd));
  647.     END LLabel;
  648.  
  649.  
  650. PROCEDURE LLabel1(label : StrPtr) : APTR;
  651.     BEGIN
  652.         RETURN TextObject(  TAG(buffer,
  653.                             MD.maTextContents,         label,
  654.                             MD.maWeight,               0,
  655.                             MD.maInnerLeft,            0,
  656.                             MD.maInnerRight,           0,
  657.                             MD.maFrame,                MD.mvFrameButton,
  658.                             MD.maFramePhantomHoriz,    TRUE,
  659.                             tagEnd));
  660.     END LLabel1;
  661.  
  662.  
  663. PROCEDURE LLabel2(label : StrPtr) : APTR;
  664.     BEGIN
  665.         RETURN TextObject(  TAG(buffer,
  666.                             MD.maTextContents,         label,
  667.                             MD.maWeight,               0,
  668.                             MD.maInnerLeft,            0,
  669.                             MD.maInnerRight,           0,
  670.                             MD.maFrame,                MD.mvFrameString,
  671.                             MD.maFramePhantomHoriz,    TRUE,
  672.                             tagEnd));
  673.     END LLabel2;
  674. (*}}}*)
  675. (*{{{  "KeyLabelX" *)
  676. PROCEDURE KeyLabel(label : StrPtr; HiChar : CHAR) : APTR;
  677.     BEGIN
  678.         RETURN TextObject(  TAG(buffer,
  679.                             MD.maTextPreParse,         ADR("\033r"),
  680.                             MD.maTextContents,         label,
  681.                             MD.maWeight,               0,
  682.                             MD.maInnerLeft,            0,
  683.                             MD.maInnerRight,           0,
  684.                             MD.maTextHiChar,           HiChar,
  685.                             tagEnd));
  686.     END KeyLabel;
  687.  
  688.  
  689. PROCEDURE KeyLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  690.     BEGIN
  691.         RETURN TextObject(  TAG(buffer,
  692.                             MD.maTextPreParse,         ADR("\033r"),
  693.                             MD.maTextContents,         label,
  694.                             MD.maWeight,               0,
  695.                             MD.maInnerLeft,            0,
  696.                             MD.maInnerRight,           0,
  697.                             MD.maTextHiChar,           HiChar,
  698.                             MD.maFrame,                MD.mvFrameButton,
  699.                             MD.maFramePhantomHoriz,    TRUE,
  700.                             tagEnd));
  701.     END KeyLabel1;
  702.  
  703.  
  704. PROCEDURE KeyLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  705.     BEGIN
  706.         RETURN TextObject(  TAG(buffer,
  707.                             MD.maTextPreParse,         ADR("\033r"),
  708.                             MD.maTextContents,         label,
  709.                             MD.maWeight,               0,
  710.                             MD.maInnerLeft,            0,
  711.                             MD.maInnerRight,           0,
  712.                             MD.maTextHiChar,           HiChar,
  713.                             MD.maFrame,                MD.mvFrameString,
  714.                             MD.maFramePhantomHoriz,    TRUE,
  715.                             tagEnd));
  716.     END KeyLabel2;
  717. (*}}}*)
  718. (*{{{  "KeyLLabelX" *)
  719. PROCEDURE KeyLLabel(label : StrPtr; HiChar : CHAR) : APTR;
  720.     BEGIN
  721.         RETURN TextObject(  TAG(buffer,
  722.                             MD.maTextContents,         label,
  723.                             MD.maWeight,               0,
  724.                             MD.maInnerLeft,            0,
  725.                             MD.maInnerRight,           0,
  726.                             MD.maTextHiChar,           HiChar,
  727.                             tagEnd));
  728.     END KeyLLabel;
  729.  
  730.  
  731. PROCEDURE KeyLLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  732.     BEGIN
  733.         RETURN TextObject(  TAG(buffer,
  734.                             MD.maTextContents,         label,
  735.                             MD.maWeight,               0,
  736.                             MD.maInnerLeft,            0,
  737.                             MD.maInnerRight,           0,
  738.                             MD.maTextHiChar,           HiChar,
  739.                             MD.maFrame,                MD.mvFrameButton,
  740.                             MD.maFramePhantomHoriz,    TRUE,
  741.                             tagEnd));
  742.     END KeyLLabel1;
  743.  
  744.  
  745. PROCEDURE KeyLLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  746.     BEGIN
  747.         RETURN TextObject(  TAG(buffer,
  748.                             MD.maTextContents,         label,
  749.                             MD.maWeight,               0,
  750.                             MD.maInnerLeft,            0,
  751.                             MD.maInnerRight,           0,
  752.                             MD.maTextHiChar,           HiChar,
  753.                             MD.maFrame,                MD.mvFrameString,
  754.                             MD.maFramePhantomHoriz,    TRUE,
  755.                             tagEnd));
  756.     END KeyLLabel2;
  757. (*}}}*)
  758.  
  759. (*
  760. **
  761. ** Controlling Objects
  762. **
  763. ** Note : get didn't work in previous releases
  764. **
  765. *)
  766.  
  767. (*{{{  "set, get,...." *)
  768.  
  769. PROCEDURE get(obj : APTR; attr : LONGCARD; store : ADDRESS);
  770.     BEGIN DoMethod(obj,TAG(buffer, omGET, attr, store));
  771.     END get;
  772.  
  773. PROCEDURE set(obj : APTR; attr : LONGCARD; value : LONGINT);
  774.     VAR dummy : APTR;
  775.     BEGIN dummy:=SetAttrsA(obj, TAG(buffer,attr,value,tagEnd));
  776.     END set;
  777.  
  778. PROCEDURE nnset(obj : APTR; attr : LONGCARD; value : LONGINT);
  779.     VAR dummy : APTR;
  780.     BEGIN dummy:=SetAttrsA(obj, TAG(buffer,MD.maNoNotify,TRUE, attr,value,tagEnd));
  781.     END nnset;
  782.  
  783. PROCEDURE setmutex(obj : APTR; n : LONGINT);
  784.     BEGIN set(obj,MD.maRadioActive,n);
  785.     END setmutex;
  786.  
  787. PROCEDURE setcycle(obj : APTR; n : LONGINT);
  788.     BEGIN set(obj,MD.maCycleActive,n);
  789.     END setcycle;
  790.  
  791. PROCEDURE setstring(obj : APTR; s : StrPtr);
  792.     BEGIN set(obj,MD.maStringContents,s);
  793.     END setstring;
  794.  
  795. PROCEDURE setcheckmark(obj : APTR; b : BOOLEAN);
  796.     BEGIN
  797.         IF b THEN set(obj,MD.maSelected,1);
  798.              ELSE set(obj,MD.maSelected,0);
  799.              END;
  800.     END setcheckmark;
  801.  
  802. PROCEDURE setslider(obj : APTR; l : LONGINT);
  803.     BEGIN set(obj,MD.maSliderLevel,l);
  804.     END setslider;
  805.  
  806. (*}}}*)
  807. (*{{{  "NoteClose" *)
  808. (*
  809. ** NoteClose (app,obj,ID)
  810. *)
  811. PROCEDURE NoteClose(app : APTR; obj : APTR; ID  : LONGINT);
  812.     BEGIN DoMethod(obj,TAG(buffer, MD.mmNotify,MD.maWindowCloseRequest,TRUE, app,2,MD.mmApplicationReturnID,ID));
  813.     END NoteClose;
  814. (*}}}*)
  815. (*{{{  "NoteButton" *)
  816. (*
  817. **  Notebutton (app,obj,ID)
  818. *)
  819. PROCEDURE NoteButton(app : APTR; obj : APTR; ID  : LONGINT);
  820.     BEGIN DoMethod(obj,TAG(buffer, MD.mmNotify,MD.maPressed, FALSE, app,2,MD.mmApplicationReturnID,ID));
  821.     END NoteButton;
  822. (*}}}*)
  823. (*{{{  "RemMember" *)
  824. (*
  825. ** RemMember (obj,member)
  826. *)
  827.  
  828. PROCEDURE RemMember(obj : APTR; member : APTR);
  829.     BEGIN DoMethod(obj,TAG(buffer, omREMMEMBER, member));
  830.     END RemMember;
  831. (*}}}*)
  832. (*{{{  "AddMember" *)
  833. (*
  834. ** AddMember (obj,member)
  835. *)
  836.  
  837. PROCEDURE AddMember(obj : APTR; member : APTR);
  838.     BEGIN DoMethod(obj,TAG(buffer, omADDMEMBER, member));
  839.     END AddMember;
  840. (*}}}*)
  841.  
  842. END MuiMacros.
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.